package com.woniu.sharepark.leasesystem.lessor.service;

import com.woniu.sharepark.common.JsonResult;
import com.woniu.sharepark.leasesystem.lessor.dto.CarParkDTO;
import com.woniu.sharepark.leasesystem.lessor.pojo.CarPark;

import java.util.List;


public interface CarParkService {

    /**
     * Please Input The Method Description
     *
     * @param carparkId 车位id
     * @return com.woniu.sharepark.leasesystem.lessor.pojo.CarPark
     * @title findCarPark
     * @author wx
     * @date 2019/6/3 14:49
     **/
    CarPark findCarPark(Integer carparkId);

    /**
     * 分页动态查询车位信息
     *
     * @param currentPage 当前页
     * @param pageSize    每页数据
     * @param carPark     车位信息
     * @title findAllCarParkPage
     * @return: java.util.List<com.woniu.sharepark.leasesystem.lessor.pojo.CarPark>
     * @author xin
     * @date 2019/6/4 20:13
     */
    List<CarPark> findAllCarParkPage(Integer currentPage, Integer pageSize, CarPark carPark);


    /**
     * 此方法应用于添加车位信息
     *
     * @param carParkDTO 此参数用于前端传值，详情请见该类
     * @return com.woniu.sharepark.common.JsonResult
     * @Author Zongjie.Li
     * @Date 2019/6/4
     */
    JsonResult addCarPark(CarParkDTO carParkDTO);

    /**
     * 动态查询车位信息
     *
     * @param carPark 车位条件
     * @title findCarParkSelective
     * @return: java.util.List<com.woniu.sharepark.leasesystem.lessor.pojo.CarPark>
     * @author xin
     * @date 2019/6/6 11:26
     */
    List<CarPark> findCarParkSelective(CarPark carPark);

    /**
     * 物业方审核车位信息
     *
     * @param ids
     * @return
     */
    int checkCarparks(Integer[] ids);

    /**
     * 平台方审核车位信息
     *
     * @param id
     * @return
     */
    int updateCarpark(Integer id);

    JsonResult findUsefulCarPark();

    JsonResult findCarParkById(Integer id);

    /**
     * 通过主键动态修改车位信息
     *
     * @param carPark 车位信息
     * @title updateByPrimaryKeySelective
     * @return: int
     * @author xin
     * @date 2019/6/12 11:25
     */
    int updateByPrimaryKeySelective(CarPark carPark);


    /**
     * 查询车位总数
     *
     * @return int
     * @title findAllCount
     * @author xin
     * @date 2019/6/17 16:48
     */
    int findAllCount();

    /**
     * 查找当前用户所拥有的车位
     *
     * @return com.woniu.sharepark.common.JsonResult
     * @Author Zongjie.Li
     * @Date 2019/6/20
     * @Version 1.0
     */
    JsonResult findMyCarPark();

    /**
     * 此方法用于获取当前用户昨日收益
     *
     * @param  Param Description
     * @return com.woniu.sharepark.common.JsonResult
     * @Author Zongjie.Li
     * @Date 2019/6/20
     * @Version 1.0
     */
    JsonResult getIncomeYesterday();

    /**
     * 上架车位
     *
     * @param carPark Param Description
     * @return com.woniu.sharepark.common.JsonResult
     * @Author Zongjie.Li
     * @Date 2019/6/20
     * @Version 1.0
     */
    JsonResult upCarPark(CarPark carPark);

    /**
     * 下架车位
     *
     * @param carPark Param Description
     * @return com.woniu.sharepark.common.JsonResult
     * @Author Zongjie.Li
     * @Date 2019/6/20
     * @Version 1.0
     */
    JsonResult downCarPark(CarPark carPark);
}
